Hệ thống quản lý phòng khám trực tuyến bằng PHP

1 <?php if(!defined('datalist_date_separator')) die('datalist.php not included!');
2
3 class
DateCombo{
4     
// renders a date combo with a pre-selected date
5
6     
var $DateFormat, // any combination of y,m,d
7         $DefaultDate,
// format: yyyy-mm-dd
8         $MinYear,
9         $MaxYear,
10         $MonthNames,
11         $Comment,
12         $NamePrefix,
// will be used in the HTML name prop as a prefix to "Year", "Month", "Day"
13         $CSSOptionClass,
14         $CSSSelectedClass,
15         $CSSCommentClass;
16
17     function __construct(){
// PHP 7 compatibility
18         $
this->DateCombo();
19     }
20
21     function DateCombo(){
22         
// set default values
23         $
this->DateFormat = "ymd";
24         $
this->DefaultDate = '';
25         $
this->MinYear = 1900;
26         $
this->MaxYear = 2100;
27         $
this->MonthNames = "January,February,March,April,May,June,July,August,September,October,November,December";
28         $
this->Comment = "<empty>";
29         $
this->NamePrefix = "Date";
30
31         $
this->CSSOptionClass = 'form-control';
32         $
this->CSSSelectedClass = 'active';
33         $
this->CSSCommentClass = '';
34     }
35
36     function GetHTML($readOnly=
false){
37         list($xy, $xm, $xd)=explode(
'-', $this->DefaultDate);
38
39         
//$y : render years combo
40         $years =
new Combo;
41         
for($i=$this->MinYear; $i<=$this->MaxYear; $i++){
42             $years->ListItem[] = $i;
43             $years->ListData[] = $i;
44         }
45         $years->SelectName = $
this->NamePrefix . 'Year';
46         $years->SelectID = $
this->NamePrefix;
47         $years->SelectedData = $xy;
48         $years->Class =
"{$this->CSSOptionClass} split-date";
49         $years->SelectedClass = $
this->CSSSelectedClass;
50         $years->ApplySelect2 =
false;
51         $years->Render();
52         $y = ($readOnly ? substr($
this->DefaultDate, 0, 4) : $years->HTML);
53
54         
//$m : render months combo
55         $months =
new Combo;
56         
for($i=1; $i<=12; $i++){
57             $months->ListData[] = $i;
58         }
59         $months->ListItem = explode(
",", $this->MonthNames);
60         $months->SelectName = $
this->NamePrefix . 'Month';
61         $months->SelectID = $
this->NamePrefix . '-mm';
62         $months->SelectedData = intval($xm);
63         $months->Class = $
this->CSSOptionClass;
64         $months->SelectedClass = $
this->CSSSelectedClass;
65         $months->ApplySelect2 =
false;
66         $months->Render();
67         $m = ($readOnly ? $xm : $months->HTML);
68
69         
//$d : render days combo
70         $days =
new Combo;
71         
for($i=1; $i<=31; $i++){
72             $days->ListItem[] = $i;
73             $days->ListData[] = $i;
74         }
75         $days->SelectName = $
this->NamePrefix . 'Day';
76         $days->SelectID = $
this->NamePrefix . '-dd';
77         $days->SelectedData = intval($xd);
78         $days->Class = $
this->CSSOptionClass;
79         $days->SelectedClass = $
this->CSSSelectedClass;
80         $days->ApplySelect2 =
false;
81         $days->Render();
82         $d = ($readOnly ? $xd : $days->HTML);
83
84         $df = $
this->DateFormat; // contains date order 'myd', 'dmy' ... etc
85
86         $read_only_date = ${$df[
0]} . datalist_date_separator . ${$df[1]} . datalist_date_separator . ${$df[2]};
87         
if($read_only_date == datalist_date_separator.datalist_date_separator) $read_only_date = '';
88         
//$read_only_date = '<p class="form-control-static">' . $read_only_date . '</p>';
89
90         $editable_date =
'<div class="row">';
91         
for($i = 0; $i < 3; $i++){
92             
switch($df[$i]){
93                 
case 'd':
94                     $editable_date .=
'<div class="col-xs-3 date_combo">' . $d . '</div>';
95                     
break;
96                 
case 'm':
97                     $editable_date .=
'<div class="col-xs-4 date_combo">' . $m . '</div>';
98                     
break;
99                 
case 'y':
100                     $editable_date .=
'<div class="col-xs-3 date_combo">' . $y . '</div>';
101                     
break;
102             }
103             
if($i == 2) $editable_date .= '<div class="col-xs-2"><button class="btn btn-default" id="fd-but-' . $this->NamePrefix . '"><i class="glyphicon glyphicon-th"></i></button></div>';
104         }
105         $editable_date .=
'</div>';
106
107         
return ($readOnly ? $read_only_date : $editable_date);
108     }
109 }


Gõ tìm kiếm nhanh...